﻿namespace Black.SurfaceToolkit.Controls
{
    /// <summary>
    /// Représente les méthodes gérant les événements routés <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.CanvasDragStarted" /> et <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.CanvasDragEnded" />.
    /// </summary>
    /// <param name="p_oSender">Source de l'événement.</param>
    /// <param name="p_oArgs">Données de l'événement.</param>
    public delegate void DragItemRoutedEventHandler(object p_oSender, DragItemRoutedEventArgs p_oArgs);

    /// <summary>
    /// Représente les méthodes gérant les événements routés <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.InertiaCompleted" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.ManipulationCompleted" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.AllOperationCompleted" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.InertiaCompleted" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.ManipulationCompleted" /> et <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.AllOperationCompleted" />.
    /// </summary>
    /// <param name="p_oSender">Source de l'événement.</param>
    /// <param name="p_oArgs">Données de l'événement.</param>
    public delegate void OperationCompletedRoutedEventHandler(object p_oSender, OperationCompletedRoutedEventArgs p_oArgs);

    /// <summary>
    /// Représente les méthodes gérant les événements routés <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.InertiaDelta" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.ManipulationDelta" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.AllOperationDelta" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.InertiaDelta" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.ManipulationDelta" /> et <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.AllOperationDelta" />.
    /// </summary>
    /// <param name="p_oSender">Source de l'événement.</param>
    /// <param name="p_oArgs">Données de l'événement.</param>
    public delegate void OperationDeltaRoutedEventHandler(object p_oSender, OperationDeltaRoutedEventArgs p_oArgs);

    /// <summary>
    /// Représente les méthodes gérant les événements routés <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.InertiaStarted" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.ManipulationStarted" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterViewItem.AllOperationStarted" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.InertiaStarted" />, <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.ManipulationStarted" /> et <see cref="E:Black.SurfaceToolkit.Controls.CanvasScatterView.AllOperationStarted" />.
    /// </summary>
    /// <param name="p_oSender">Source de l'événement.</param>
    /// <param name="p_oArgs">Données de l'événement.</param>
    public delegate void OperationStartedRoutedEventHandler(object p_oSender, OperationStartedRoutedEventArgs p_oArgs);
}
